import { INCREATMENTCOUNT, DECREATMENTCOUNT, INTIMEOUTCOUNT } from "../constent/countcost"
import Store from "../store"
export const increatmentAction = (data) => {
    return {
        type: INCREATMENTCOUNT,
        data
    }
}
export const decreatmentAction = (data) => {
    return {
        type: DECREATMENTCOUNT,
        data
    }
}
export const inTimeoutAction = (data) => {
    // 定时器中的函数是异步的 inTimeoutAction函数是同步的 inTimeoutAction函数运行完没有找到返回值 于是返回undefined 延迟累加失败
    // setTimeout(()=>{
    //     return {
    //         type: INTIMEOUTCOUNT,
    //         data
    //     }
    // },2000)

    // 解决方法：return一个回调函数 将定时器放入回调函数中 返回出去 
    // 下载并引入一个中间件redux.thunk 并用redux提供的applyMiddleware方法调用中间件  applyMiddleware改写了store的dispatch方法，新的dispatch方法就是被传入中间件包装过的

    return () => {
        setTimeout(() => {
            Store.dispatch({
                type: INTIMEOUTCOUNT,
                data
            })
        }, 2000)
    }

}